<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Jetson Inference: jetson-inference/poseNet.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="NVLogo_2D.jpg"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Jetson Inference
   </div>
   <div id="projectbrief">DNN Vision Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('poseNet_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">poseNet.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="poseNet_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining a</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * copy of this software and associated documentation files (the &quot;Software&quot;),</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * to deal in the Software without restriction, including without limitation</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * the rights to use, copy, modify, merge, publish, distribute, sublicense,</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * and/or sell copies of the Software, and to permit persons to whom the</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * Software is furnished to do so, subject to the following conditions:</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be included in</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * all copies or substantial portions of the Software.</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * DEALINGS IN THE SOFTWARE.</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#ifndef __POSE_NET_H__</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#define __POSE_NET_H__</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; </div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="tensorNet_8h.html">tensorNet.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;array&gt;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="group__poseNet.html#ga0d5023ddb3b0f2e2348f476f2950fed7">   37</a></span>&#160;<span class="preprocessor">#define POSENET_DEFAULT_INPUT   &quot;input&quot;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="group__poseNet.html#ga21376894ab9de2658349498fce9ba116">   43</a></span>&#160;<span class="preprocessor">#define POSENET_DEFAULT_CMAP  &quot;cmap&quot;</span></div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="group__poseNet.html#ga6301da70768db25c4a7a0ee2e03cb79d">   49</a></span>&#160;<span class="preprocessor">#define POSENET_DEFAULT_PAF  &quot;paf&quot;</span></div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="group__poseNet.html#ga9be57c475962d2397058c45c835cc2b5">   55</a></span>&#160;<span class="preprocessor">#define POSENET_DEFAULT_THRESHOLD 0.15f</span></div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160; </div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="group__poseNet.html#ga632a4c8ca48bada5603f0fa52f4b6519">   62</a></span>&#160;<span class="preprocessor">#define POSENET_DEFAULT_KEYPOINT_SCALE 0.0052f</span></div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="group__poseNet.html#gac3bab0abe576c7fa92c5094e0817c966">   69</a></span>&#160;<span class="preprocessor">#define POSENET_DEFAULT_LINK_SCALE 0.0013f</span></div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="group__poseNet.html#ga6f47161a1dfbc3a213f62069f163c6e0">   75</a></span>&#160;<span class="preprocessor">#define POSENET_MODEL_TYPE &quot;pose&quot;</span></div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160; </div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="group__imageNet.html#ga4f809f603917dd53041335c0881b198e">   81</a></span>&#160;<span class="preprocessor">#define POSENET_USAGE_STRING  &quot;poseNet arguments: \n&quot;                                                           \</span></div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor">                  &quot;  --network=NETWORK     pre-trained model to load, one of the following:\n&quot;  \</span></div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">                  &quot;                            * resnet18-body (default)\n&quot;                             \</span></div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor">                  &quot;                            * resnet18-hand\n&quot;                                               \</span></div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">                  &quot;                            * densenet121-body\n&quot;                                            \</span></div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">                  &quot;  --model=MODEL         path to custom model to load (caffemodel, uff, or onnx)\n&quot;                                   \</span></div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">                  &quot;  --prototxt=PROTOTXT   path to custom prototxt to load (for .caffemodel only)\n&quot;                                    \</span></div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">                  &quot;  --labels=LABELS       path to text file containing the labels for each class\n&quot;                                    \</span></div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor">                  &quot;  --input-blob=INPUT    name of the input layer (default is &#39;&quot; POSENET_DEFAULT_INPUT &quot;&#39;)\n&quot;                  \</span></div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor">                  &quot;  --output-cvg=COVERAGE name of the coverge output layer (default is &#39;&quot; POSENET_DEFAULT_CMAP &quot;&#39;)\n&quot;  \</span></div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor">                  &quot;  --output-bbox=BOXES   name of the bounding output layer (default is &#39;&quot; POSENET_DEFAULT_PAF &quot;&#39;)\n&quot;  \</span></div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor">                  &quot;  --mean-pixel=PIXEL    mean pixel value to subtract from input (default is 0.0)\n&quot;                                  \</span></div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="preprocessor">                  &quot;  --threshold=THRESHOLD minimum threshold for detection (default is 0.5)\n&quot;                                                  \</span></div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor">                  &quot;  --overlay=OVERLAY     detection overlay flags (e.g. --overlay=links,keypoints)\n&quot;                                  \</span></div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="preprocessor">                  &quot;                        valid combinations are:  &#39;box&#39;, &#39;links&#39;, &#39;keypoints&#39;, &#39;none&#39;\n&quot;                              \</span></div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">                  &quot;  --keypoint-scale=X    radius scale for keypoints, relative to image (default: 0.0052)\n&quot;                           \</span></div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor">                  &quot;  --link-scale=X        line width scale for links, relative to image (default: 0.0013)\n&quot;                           \</span></div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="preprocessor">                  &quot;  --profile             enable layer profiling in TensorRT\n\n&quot;</span></div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; </div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="group__poseNet.html">  105</a></span>&#160;<span class="keyword">class </span><a class="code" href="group__poseNet.html#classposeNet">poseNet</a> : <span class="keyword">public</span> <a class="code" href="group__tensorNet.html#classtensorNet">tensorNet</a></div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keyword">public</span>: </div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="structposeNet_1_1ObjectPose.html">  112</a></span>&#160;        <span class="keyword">struct </span><a class="code" href="structposeNet_1_1ObjectPose.html">ObjectPose</a></div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        {               </div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="structposeNet_1_1ObjectPose.html#a581b90cc2974bb8a90fbafc2f5448fce">  114</a></span>&#160;                uint32_t <a class="code" href="structposeNet_1_1ObjectPose.html#a581b90cc2974bb8a90fbafc2f5448fce">ID</a>;    </div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="structposeNet_1_1ObjectPose.html#a4bb68db2ef92240a0e5dbc9c6f3dea9e">  116</a></span>&#160;                <span class="keywordtype">float</span> <a class="code" href="structposeNet_1_1ObjectPose.html#a4bb68db2ef92240a0e5dbc9c6f3dea9e">Left</a>;     </div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="structposeNet_1_1ObjectPose.html#ad87a8bf3dfaa0ca9ec20831b44def4e1">  117</a></span>&#160;                <span class="keywordtype">float</span> <a class="code" href="structposeNet_1_1ObjectPose.html#ad87a8bf3dfaa0ca9ec20831b44def4e1">Right</a>;    </div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="structposeNet_1_1ObjectPose.html#adece53f539c88290c4062193f0fd7ae7">  118</a></span>&#160;                <span class="keywordtype">float</span> <a class="code" href="structposeNet_1_1ObjectPose.html#adece53f539c88290c4062193f0fd7ae7">Top</a>;      </div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="structposeNet_1_1ObjectPose.html#a333bb92ee586133a7221ace0f5f4d557">  119</a></span>&#160;                <span class="keywordtype">float</span> <a class="code" href="structposeNet_1_1ObjectPose.html#a333bb92ee586133a7221ace0f5f4d557">Bottom</a>;   </div>
<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="structposeNet_1_1ObjectPose_1_1Keypoint.html">  124</a></span>&#160;                <span class="keyword">struct </span><a class="code" href="structposeNet_1_1ObjectPose_1_1Keypoint.html">Keypoint</a></div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;                {</div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="structposeNet_1_1ObjectPose_1_1Keypoint.html#a1f5c06d8ac261651f451c127279ec723">  126</a></span>&#160;                        uint32_t <a class="code" href="structposeNet_1_1ObjectPose_1_1Keypoint.html#a1f5c06d8ac261651f451c127279ec723">ID</a>;    </div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="structposeNet_1_1ObjectPose_1_1Keypoint.html#aaab84896609ee951cd43b699881f3d8f">  127</a></span>&#160;                        <span class="keywordtype">float</span> <a class="code" href="structposeNet_1_1ObjectPose_1_1Keypoint.html#aaab84896609ee951cd43b699881f3d8f">x</a>;                </div>
<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="structposeNet_1_1ObjectPose_1_1Keypoint.html#a06cb6a3a66934abede6d3e84ebb7931f">  128</a></span>&#160;                        <span class="keywordtype">float</span> <a class="code" href="structposeNet_1_1ObjectPose_1_1Keypoint.html#a06cb6a3a66934abede6d3e84ebb7931f">y</a>;                </div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;                };</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;                </div>
<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="structposeNet_1_1ObjectPose.html#a695103397589cdf95d56eec30b8869ef">  131</a></span>&#160;                std::vector&lt;Keypoint&gt; <a class="code" href="structposeNet_1_1ObjectPose.html#a695103397589cdf95d56eec30b8869ef">Keypoints</a>;                        </div>
<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="structposeNet_1_1ObjectPose.html#aa0cad49daab2c621d2313d52a1746f85">  132</a></span>&#160;                std::vector&lt;std::array&lt;uint32_t, 2&gt;&gt; <a class="code" href="structposeNet_1_1ObjectPose.html#aa0cad49daab2c621d2313d52a1746f85">Links</a>;     </div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;                <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="structposeNet_1_1ObjectPose.html#a7401105ef9346854261b8fb9b86bf827">FindKeypoint</a>(uint32_t <span class="keywordtype">id</span>) <span class="keyword">const</span>;         </div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;                </div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;                <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="structposeNet_1_1ObjectPose.html#a872163e2d0c63d5c1b69b59c732ef515">FindLink</a>(uint32_t a, uint32_t b) <span class="keyword">const</span>;  </div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        };</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        </div>
<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118a">  144</a></span>&#160;        <span class="keyword">enum</span> <a class="code" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118a">OverlayFlags</a></div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        {</div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aac903ec60b2ac0e00b29a15f5b42380c3">  146</a></span>&#160;                <a class="code" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aac903ec60b2ac0e00b29a15f5b42380c3">OVERLAY_NONE</a>      = 0,         </div>
<div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa22fcdd5a4a06b67fdcb1e063a8755f23">  147</a></span>&#160;                <a class="code" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa22fcdd5a4a06b67fdcb1e063a8755f23">OVERLAY_BOX</a>       = (1 &lt;&lt; 0),  </div>
<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa5af88efc86c145ebe02280e6bcdfa98a">  148</a></span>&#160;                <a class="code" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa5af88efc86c145ebe02280e6bcdfa98a">OVERLAY_LINKS</a>     = (1 &lt;&lt; 1),  </div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa23db8b890105e87de352e4199beb2758">  149</a></span>&#160;                <a class="code" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa23db8b890105e87de352e4199beb2758">OVERLAY_KEYPOINTS</a> = (1 &lt;&lt; 2),  </div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa2cc6ca07f2d81b60b4bf60adfa8b32f5">  150</a></span>&#160;                <a class="code" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa2cc6ca07f2d81b60b4bf60adfa8b32f5">OVERLAY_DEFAULT</a>   = <a class="code" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa5af88efc86c145ebe02280e6bcdfa98a">OVERLAY_LINKS</a>|<a class="code" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa23db8b890105e87de352e4199beb2758">OVERLAY_KEYPOINTS</a>,</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        };</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160; </div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        <span class="keyword">static</span> uint32_t <a class="code" href="group__poseNet.html#a1bebbf414fd20210c469223433bb604a">OverlayFlagsFromStr</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* flags );</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160; </div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        <span class="keyword">static</span> <a class="code" href="group__poseNet.html#classposeNet">poseNet</a>* <a class="code" href="group__poseNet.html#a28d9cf19e0454214d5b7223bfc8a0784">Create</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* network=<span class="stringliteral">&quot;resnet18-body&quot;</span>, <span class="keywordtype">float</span> threshold=<a class="code" href="group__poseNet.html#ga9be57c475962d2397058c45c835cc2b5">POSENET_DEFAULT_THRESHOLD</a>, </div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;                                            uint32_t maxBatchSize=<a class="code" href="group__tensorNet.html#ga5a46a965749d6118e01307fd4d4865c9">DEFAULT_MAX_BATCH_SIZE</a>, <a class="code" href="group__tensorNet.html#gaac6604fd52c6e5db82877390e0378623">precisionType</a> precision=<a class="code" href="group__tensorNet.html#ggaac6604fd52c6e5db82877390e0378623a1d325738f49e8e4c424ff671624e66f9">TYPE_FASTEST</a>, </div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;                                            <a class="code" href="group__tensorNet.html#gaa5d3f9981cdbd91516c1474006a80fe4">deviceType</a> device=<a class="code" href="group__tensorNet.html#ggaa5d3f9981cdbd91516c1474006a80fe4adc7f3f88455afa81458863e5b3092e4b">DEVICE_GPU</a>, <span class="keywordtype">bool</span> allowGPUFallback=<span class="keyword">true</span> );</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        </div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        <span class="keyword">static</span> <a class="code" href="group__poseNet.html#classposeNet">poseNet</a>* <a class="code" href="group__poseNet.html#a28d9cf19e0454214d5b7223bfc8a0784">Create</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* model_path, <span class="keyword">const</span> <span class="keywordtype">char</span>* topology, <span class="keyword">const</span> <span class="keywordtype">char</span>* colors,</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;                                            <span class="keywordtype">float</span> threshold=<a class="code" href="group__poseNet.html#ga9be57c475962d2397058c45c835cc2b5">POSENET_DEFAULT_THRESHOLD</a>, </div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;                                            <span class="keyword">const</span> <span class="keywordtype">char</span>* input = <a class="code" href="group__poseNet.html#ga0d5023ddb3b0f2e2348f476f2950fed7">POSENET_DEFAULT_INPUT</a>, </div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;                                            <span class="keyword">const</span> <span class="keywordtype">char</span>* cmap = <a class="code" href="group__poseNet.html#ga21376894ab9de2658349498fce9ba116">POSENET_DEFAULT_CMAP</a>, </div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;                                            <span class="keyword">const</span> <span class="keywordtype">char</span>* paf = <a class="code" href="group__poseNet.html#ga6301da70768db25c4a7a0ee2e03cb79d">POSENET_DEFAULT_PAF</a>,</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;                                            uint32_t maxBatchSize=<a class="code" href="group__tensorNet.html#ga5a46a965749d6118e01307fd4d4865c9">DEFAULT_MAX_BATCH_SIZE</a>, </div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;                                            <a class="code" href="group__tensorNet.html#gaac6604fd52c6e5db82877390e0378623">precisionType</a> precision=<a class="code" href="group__tensorNet.html#ggaac6604fd52c6e5db82877390e0378623a1d325738f49e8e4c424ff671624e66f9">TYPE_FASTEST</a>,</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;                                            <a class="code" href="group__tensorNet.html#gaa5d3f9981cdbd91516c1474006a80fe4">deviceType</a> device=<a class="code" href="group__tensorNet.html#ggaa5d3f9981cdbd91516c1474006a80fe4adc7f3f88455afa81458863e5b3092e4b">DEVICE_GPU</a>, <span class="keywordtype">bool</span> allowGPUFallback=<span class="keyword">true</span> );</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160; </div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;        <span class="keyword">static</span> <a class="code" href="group__poseNet.html#classposeNet">poseNet</a>* <a class="code" href="group__poseNet.html#a28d9cf19e0454214d5b7223bfc8a0784">Create</a>( <span class="keywordtype">int</span> argc, <span class="keywordtype">char</span>** argv );</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;        </div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;        <span class="keyword">static</span> <a class="code" href="group__poseNet.html#classposeNet">poseNet</a>* <a class="code" href="group__poseNet.html#a28d9cf19e0454214d5b7223bfc8a0784">Create</a>( <span class="keyword">const</span> <a class="code" href="group__commandLine.html#classcommandLine">commandLine</a>&amp; cmdLine );</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;        </div>
<div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="group__poseNet.html#a4f116258d3b45d7bf5bdfe0f22f0f1cb">  204</a></span>&#160;        <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__poseNet.html#a4f116258d3b45d7bf5bdfe0f22f0f1cb">Usage</a>()               { <span class="keywordflow">return</span> <a class="code" href="group__imageNet.html#ga4f809f603917dd53041335c0881b198e">POSENET_USAGE_STRING</a>; }</div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160; </div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;        <span class="keyword">virtual</span> <a class="code" href="group__poseNet.html#a6457d98a7e7f195d5115a2e26d9091d4">~poseNet</a>();</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;        </div>
<div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="group__poseNet.html#ac429431dc3b83dcd5a5f3fcffe446047">  220</a></span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> <a class="code" href="group__poseNet.html#ac429431dc3b83dcd5a5f3fcffe446047">Process</a>( T* image, uint32_t width, uint32_t height, std::vector&lt;ObjectPose&gt;&amp; poses, uint32_t overlay=<a class="code" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa2cc6ca07f2d81b60b4bf60adfa8b32f5">OVERLAY_DEFAULT</a> )                                        { <span class="keywordflow">return</span> <a class="code" href="group__poseNet.html#ac429431dc3b83dcd5a5f3fcffe446047">Process</a>((<span class="keywordtype">void</span>*)image, width, height, imageFormatFromType&lt;T&gt;(), poses, overlay); }</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160; </div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="group__poseNet.html#ac429431dc3b83dcd5a5f3fcffe446047">Process</a>( <span class="keywordtype">void</span>* image, uint32_t width, uint32_t height, <a class="code" href="group__imageFormat.html#ga931c48e08f361637d093355d64583406">imageFormat</a> format, std::vector&lt;ObjectPose&gt;&amp; poses, uint32_t overlay=<a class="code" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa2cc6ca07f2d81b60b4bf60adfa8b32f5">OVERLAY_DEFAULT</a> );</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;        </div>
<div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="group__poseNet.html#a8ecb6dbc5b0246c6145c1f6222772996">  241</a></span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> <a class="code" href="group__poseNet.html#a8ecb6dbc5b0246c6145c1f6222772996">Process</a>( T* image, uint32_t width, uint32_t height, uint32_t overlay=<a class="code" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa2cc6ca07f2d81b60b4bf60adfa8b32f5">OVERLAY_DEFAULT</a> )                                                                                        { <span class="keywordflow">return</span> <a class="code" href="group__poseNet.html#a8ecb6dbc5b0246c6145c1f6222772996">Process</a>((<span class="keywordtype">void</span>*)image, width, height, imageFormatFromType&lt;T&gt;(), overlay); }</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160; </div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="group__poseNet.html#ac429431dc3b83dcd5a5f3fcffe446047">Process</a>( <span class="keywordtype">void</span>* image, uint32_t width, uint32_t height, <a class="code" href="group__imageFormat.html#ga931c48e08f361637d093355d64583406">imageFormat</a> format, uint32_t overlay=<a class="code" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa2cc6ca07f2d81b60b4bf60adfa8b32f5">OVERLAY_DEFAULT</a> );</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160; </div>
<div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="group__poseNet.html#a2c3161cef2215a8cae4e673042d644db">  256</a></span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> <a class="code" href="group__poseNet.html#a2c3161cef2215a8cae4e673042d644db">Overlay</a>( T* input, T* output, uint32_t width, uint32_t height, <span class="keyword">const</span> std::vector&lt;ObjectPose&gt;&amp; poses, uint32_t overlay=<a class="code" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa2cc6ca07f2d81b60b4bf60adfa8b32f5">OVERLAY_DEFAULT</a> )               { <span class="keywordflow">return</span> <a class="code" href="group__poseNet.html#a2c3161cef2215a8cae4e673042d644db">Overlay</a>((<span class="keywordtype">void</span>*)input, (<span class="keywordtype">void</span>*)output, width, height, imageFormatFromType&lt;T&gt;(), overlay); }</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;        </div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="group__poseNet.html#a2c3161cef2215a8cae4e673042d644db">Overlay</a>( <span class="keywordtype">void</span>* input, <span class="keywordtype">void</span>* output, uint32_t width, uint32_t height, <a class="code" href="group__imageFormat.html#ga931c48e08f361637d093355d64583406">imageFormat</a> format, <span class="keyword">const</span> std::vector&lt;ObjectPose&gt;&amp; poses, uint32_t overlay=<a class="code" href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa2cc6ca07f2d81b60b4bf60adfa8b32f5">OVERLAY_DEFAULT</a> );</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        </div>
<div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="group__poseNet.html#a96e03b5516c924ed2f025300b4fbfbf6">  266</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">float</span> <a class="code" href="group__poseNet.html#a96e03b5516c924ed2f025300b4fbfbf6">GetThreshold</a>()<span class="keyword"> const                                                               </span>{ <span class="keywordflow">return</span> <a class="code" href="group__poseNet.html#a84338d796f9c348c707bbd554cdb113b">mThreshold</a>; }</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160; </div>
<div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="group__poseNet.html#a8cfd6a21798664d025bd166d26ab7004">  271</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__poseNet.html#a8cfd6a21798664d025bd166d26ab7004">SetThreshold</a>( <span class="keywordtype">float</span> threshold )                                             { <a class="code" href="group__poseNet.html#a84338d796f9c348c707bbd554cdb113b">mThreshold</a> = threshold; }</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160; </div>
<div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="group__poseNet.html#a0346daba87ac68e645c4d5be3d56d354">  276</a></span>&#160;        <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__poseNet.html#a0346daba87ac68e645c4d5be3d56d354">GetCategory</a>()<span class="keyword"> const                                                  </span>{ <span class="keywordflow">return</span> <a class="code" href="group__poseNet.html#ab8e2cceb7809577c8f46b4e18138060d">mTopology</a>.<a class="code" href="structposeNet_1_1Topology.html#a3a71c85cdb089e688a160c4e6b4c989c">category</a>.c_str(); }</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;        </div>
<div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="group__poseNet.html#a212119ed54dbae900c977576f5aea72a">  281</a></span>&#160;        <span class="keyword">inline</span> uint32_t <a class="code" href="group__poseNet.html#a212119ed54dbae900c977576f5aea72a">GetNumKeypoints</a>()<span class="keyword"> const                                                 </span>{ <span class="keywordflow">return</span> <a class="code" href="group__poseNet.html#ab8e2cceb7809577c8f46b4e18138060d">mTopology</a>.<a class="code" href="structposeNet_1_1Topology.html#a3af370f4b43a269aafc9e8b277fa7340">keypoints</a>.size(); }</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;        </div>
<div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="group__poseNet.html#aba2c29631f3e194386a2c2c0aaa77fc9">  286</a></span>&#160;        <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__poseNet.html#aba2c29631f3e194386a2c2c0aaa77fc9">GetKeypointName</a>( uint32_t index )<span class="keyword"> const                      </span>{ <span class="keywordflow">return</span> <a class="code" href="group__poseNet.html#ab8e2cceb7809577c8f46b4e18138060d">mTopology</a>.<a class="code" href="structposeNet_1_1Topology.html#a3af370f4b43a269aafc9e8b277fa7340">keypoints</a>[index].c_str(); }</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;        </div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="group__poseNet.html#af103237289d1e4abd55c4a4457b675e0">FindKeypointID</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160; </div>
<div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="group__poseNet.html#aec84aecce84762533afb017778117446">  296</a></span>&#160;        <span class="keyword">inline</span> float4 <a class="code" href="group__poseNet.html#aec84aecce84762533afb017778117446">GetKeypointColor</a>( uint32_t index )<span class="keyword"> const                          </span>{ <span class="keywordflow">return</span> <a class="code" href="group__poseNet.html#aafee76d3817e65915be5be4f51fee3d0">mKeypointColors</a>[index]; }</div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;        </div>
<div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="group__poseNet.html#acdbdb599f7f0ae08b2ab3c11d2db625e">  301</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__poseNet.html#acdbdb599f7f0ae08b2ab3c11d2db625e">SetKeypointColor</a>( uint32_t index, <span class="keyword">const</span> float4&amp; <a class="code" href="cudaPointCloud_8h.html#a549d5369c70bd71a70798aa5b1ea4270">color</a> )     { <a class="code" href="group__poseNet.html#aafee76d3817e65915be5be4f51fee3d0">mKeypointColors</a>[index] = <a class="code" href="cudaPointCloud_8h.html#a549d5369c70bd71a70798aa5b1ea4270">color</a>; }</div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;        </div>
<div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="group__poseNet.html#a635342be17027229bb25e68fe7bd96b9">  306</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__poseNet.html#a635342be17027229bb25e68fe7bd96b9">SetKeypointAlpha</a>( uint32_t index, <span class="keywordtype">float</span> <a class="code" href="cudaVector_8h.html#aa94774faf063d34dab6f3f374d73ea7a">alpha</a> )                     { <a class="code" href="group__poseNet.html#aafee76d3817e65915be5be4f51fee3d0">mKeypointColors</a>[index].w = <a class="code" href="cudaVector_8h.html#aa94774faf063d34dab6f3f374d73ea7a">alpha</a>; }</div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;        </div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__poseNet.html#a635342be17027229bb25e68fe7bd96b9">SetKeypointAlpha</a>( <span class="keywordtype">float</span> <a class="code" href="cudaVector_8h.html#aa94774faf063d34dab6f3f374d73ea7a">alpha</a> );</div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;        </div>
<div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="group__poseNet.html#a6a2934b5843740670019eee8424de5f2">  316</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">float</span> <a class="code" href="group__poseNet.html#a6a2934b5843740670019eee8424de5f2">GetKeypointScale</a>()<span class="keyword"> const                                                   </span>{ <span class="keywordflow">return</span> <a class="code" href="group__poseNet.html#a84aa84e7716c7c7d4a3dd60f2de27544">mKeypointScale</a>; }</div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;        </div>
<div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="group__poseNet.html#a90970ad4e9c23f1624bb7415ddc5db5c">  322</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__poseNet.html#a90970ad4e9c23f1624bb7415ddc5db5c">SetKeypointScale</a>( <span class="keywordtype">float</span> scale )                                             { <a class="code" href="group__poseNet.html#a84aa84e7716c7c7d4a3dd60f2de27544">mKeypointScale</a> = scale; }</div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        </div>
<div class="line"><a name="l00327"></a><span class="lineno"><a class="line" href="group__poseNet.html#a7f3dbc604b5f6343734b0d4e3d0082d3">  327</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">float</span> <a class="code" href="group__poseNet.html#a7f3dbc604b5f6343734b0d4e3d0082d3">GetLinkScale</a>()<span class="keyword"> const                                                               </span>{ <span class="keywordflow">return</span> <a class="code" href="group__poseNet.html#a70ead07abc10466c23dac1e2c5f73e40">mLinkScale</a>; }</div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;        </div>
<div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="group__poseNet.html#a54a554418a2328e46504c9152e4a5330">  333</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__poseNet.html#a54a554418a2328e46504c9152e4a5330">SetLinkScale</a>( <span class="keywordtype">float</span> scale )                                                 { <a class="code" href="group__poseNet.html#a70ead07abc10466c23dac1e2c5f73e40">mLinkScale</a> = scale; }</div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;        </div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160; </div>
<div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="group__poseNet.html#a64e17aef37702343a8ee95ede544b712">  337</a></span>&#160;        <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="group__poseNet.html#a64e17aef37702343a8ee95ede544b712">CMAP_WINDOW_SIZE</a>=5;</div>
<div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="group__poseNet.html#a9b754e22a45be6e55b281a63e11fb07e">  338</a></span>&#160;        <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="group__poseNet.html#a9b754e22a45be6e55b281a63e11fb07e">PAF_INTEGRAL_SAMPLES</a>=7;</div>
<div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="group__poseNet.html#af182e1684ef671cfa445a800099a8ad2">  339</a></span>&#160;        <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="group__poseNet.html#af182e1684ef671cfa445a800099a8ad2">MAX_LINKS</a>=100;</div>
<div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="group__poseNet.html#adeab2b3ac26b72b48191e3b4f2268b83">  340</a></span>&#160;        <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="group__poseNet.html#adeab2b3ac26b72b48191e3b4f2268b83">MAX_OBJECTS</a>=100;</div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;        </div>
<div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="structposeNet_1_1Topology.html">  342</a></span>&#160;        <span class="keyword">struct </span><a class="code" href="structposeNet_1_1Topology.html">Topology</a></div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;        {</div>
<div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="structposeNet_1_1Topology.html#a3a71c85cdb089e688a160c4e6b4c989c">  344</a></span>&#160;                std::string <a class="code" href="structposeNet_1_1Topology.html#a3a71c85cdb089e688a160c4e6b4c989c">category</a>;</div>
<div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="structposeNet_1_1Topology.html#a3af370f4b43a269aafc9e8b277fa7340">  345</a></span>&#160;                std::vector&lt;std::string&gt; <a class="code" href="structposeNet_1_1Topology.html#a3af370f4b43a269aafc9e8b277fa7340">keypoints</a>;</div>
<div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="structposeNet_1_1Topology.html#afcf230d0823bc14665f0f84bcc7d9579">  346</a></span>&#160;                <span class="keywordtype">int</span> <a class="code" href="structposeNet_1_1Topology.html#afcf230d0823bc14665f0f84bcc7d9579">links</a>[<a class="code" href="group__poseNet.html#af182e1684ef671cfa445a800099a8ad2">MAX_LINKS</a> * 4];</div>
<div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="structposeNet_1_1Topology.html#a6f698d5f9cfeb8e50bada255c03a063b">  347</a></span>&#160;                <span class="keywordtype">int</span> <a class="code" href="structposeNet_1_1Topology.html#a6f698d5f9cfeb8e50bada255c03a063b">numLinks</a>;</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        };</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;        </div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;        <span class="comment">// constructor</span></div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;        <a class="code" href="group__poseNet.html#a6abfe3c99a8c4def62773c6723fbc66a">poseNet</a>();</div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160; </div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="group__poseNet.html#ae009a46f59ae89339b7a9439668d1e72">init</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* model_path, <span class="keyword">const</span> <span class="keywordtype">char</span>* topology, <span class="keyword">const</span> <span class="keywordtype">char</span>* colors, <span class="keywordtype">float</span> threshold, </div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;                         <span class="keyword">const</span> <span class="keywordtype">char</span>* input, <span class="keyword">const</span> <span class="keywordtype">char</span>* cmap, <span class="keyword">const</span> <span class="keywordtype">char</span>* paf, uint32_t maxBatchSize, </div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;                         <a class="code" href="group__tensorNet.html#gaac6604fd52c6e5db82877390e0378623">precisionType</a> precision, <a class="code" href="group__tensorNet.html#gaa5d3f9981cdbd91516c1474006a80fe4">deviceType</a> device, <span class="keywordtype">bool</span> allowGPUFallback );</div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160; </div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="group__poseNet.html#a07a41e411e22e87fd52d2e1d52bba710">postProcess</a>(std::vector&lt;ObjectPose&gt;&amp; poses, uint32_t width, uint32_t height);</div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;        </div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="group__poseNet.html#ab5bf5dbd5c02eea49679b68b502d7db2">loadTopology</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* json_path, <a class="code" href="structposeNet_1_1Topology.html">Topology</a>* topology );</div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="group__poseNet.html#a4c56eeb1542a665188f3bcba1f48dd45">loadKeypointColors</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* filename );</div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;        </div>
<div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="group__poseNet.html#ab8e2cceb7809577c8f46b4e18138060d">  362</a></span>&#160;        <a class="code" href="structposeNet_1_1Topology.html">Topology</a> <a class="code" href="group__poseNet.html#ab8e2cceb7809577c8f46b4e18138060d">mTopology</a>;</div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;        </div>
<div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="group__poseNet.html#a84338d796f9c348c707bbd554cdb113b">  364</a></span>&#160;        <span class="keywordtype">float</span> <a class="code" href="group__poseNet.html#a84338d796f9c348c707bbd554cdb113b">mThreshold</a>;</div>
<div class="line"><a name="l00365"></a><span class="lineno"><a class="line" href="group__poseNet.html#a70ead07abc10466c23dac1e2c5f73e40">  365</a></span>&#160;        <span class="keywordtype">float</span> <a class="code" href="group__poseNet.html#a70ead07abc10466c23dac1e2c5f73e40">mLinkScale</a>;</div>
<div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="group__poseNet.html#a84aa84e7716c7c7d4a3dd60f2de27544">  366</a></span>&#160;        <span class="keywordtype">float</span> <a class="code" href="group__poseNet.html#a84aa84e7716c7c7d4a3dd60f2de27544">mKeypointScale</a>;</div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160; </div>
<div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="group__poseNet.html#aafee76d3817e65915be5be4f51fee3d0">  368</a></span>&#160;        float4* <a class="code" href="group__poseNet.html#aafee76d3817e65915be5be4f51fee3d0">mKeypointColors</a>;</div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;        </div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;        <span class="comment">// post-processing buffers</span></div>
<div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="group__poseNet.html#aa11d602a94a99d71a0e72b6bdfd4aedb">  371</a></span>&#160;        <span class="keywordtype">int</span>* <a class="code" href="group__poseNet.html#aa11d602a94a99d71a0e72b6bdfd4aedb">mPeaks</a>;</div>
<div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="group__poseNet.html#aeac8b68f59e44b9fd650a9e6801001f5">  372</a></span>&#160;        <span class="keywordtype">int</span>* <a class="code" href="group__poseNet.html#aeac8b68f59e44b9fd650a9e6801001f5">mPeakCounts</a>;</div>
<div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="group__poseNet.html#a578c10865e493491ae032f7f5489baee">  373</a></span>&#160;        <span class="keywordtype">int</span>* <a class="code" href="group__poseNet.html#a578c10865e493491ae032f7f5489baee">mConnections</a>;</div>
<div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="group__poseNet.html#a80fc821527933f3f712cc0b50b64206e">  374</a></span>&#160;        <span class="keywordtype">int</span>* <a class="code" href="group__poseNet.html#a80fc821527933f3f712cc0b50b64206e">mObjects</a>;</div>
<div class="line"><a name="l00375"></a><span class="lineno"><a class="line" href="group__poseNet.html#a98b7689cd234fe6db287c87fccdef505">  375</a></span>&#160;        <span class="keywordtype">int</span>  <a class="code" href="group__poseNet.html#a98b7689cd234fe6db287c87fccdef505">mNumObjects</a>;</div>
<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;        </div>
<div class="line"><a name="l00377"></a><span class="lineno"><a class="line" href="group__poseNet.html#aef7c1590e89362f1f6800755e8fb1bf8">  377</a></span>&#160;        <span class="keywordtype">float</span>* <a class="code" href="group__poseNet.html#aef7c1590e89362f1f6800755e8fb1bf8">mRefinedPeaks</a>;</div>
<div class="line"><a name="l00378"></a><span class="lineno"><a class="line" href="group__poseNet.html#ab430ddfb43995064ab2e8d92ac8f0328">  378</a></span>&#160;        <span class="keywordtype">float</span>* <a class="code" href="group__poseNet.html#ab430ddfb43995064ab2e8d92ac8f0328">mScoreGraph</a>;</div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;        </div>
<div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="group__poseNet.html#a66366a8b27c726812eba47a6af3cb2ca">  380</a></span>&#160;        <span class="keywordtype">void</span>* <a class="code" href="group__poseNet.html#a66366a8b27c726812eba47a6af3cb2ca">mAssignmentWorkspace</a>;</div>
<div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="group__poseNet.html#aa20634f5d0b02f5b057b7f3f5a4b1a92">  381</a></span>&#160;        <span class="keywordtype">void</span>* <a class="code" href="group__poseNet.html#aa20634f5d0b02f5b057b7f3f5a4b1a92">mConnectionWorkspace</a>;</div>
<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;};</div>
<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160; </div>
<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160; </div>
<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;<span class="comment">// FindKeypointID</span></div>
<div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="group__poseNet.html#af103237289d1e4abd55c4a4457b675e0">  386</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="group__poseNet.html#af103237289d1e4abd55c4a4457b675e0">poseNet::FindKeypointID</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name )<span class="keyword"> const</span></div>
<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;        <span class="keywordflow">if</span>( !name )</div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;                <span class="keywordflow">return</span> -1;</div>
<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;        </div>
<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;        <span class="keyword">const</span> uint32_t numKeypoints = <a class="code" href="group__poseNet.html#a212119ed54dbae900c977576f5aea72a">GetNumKeypoints</a>();</div>
<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;        </div>
<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;        <span class="keywordflow">for</span>( uint32_t n=0; n &lt; numKeypoints; n++ )</div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;        {</div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;                <span class="keywordflow">if</span>( strcasecmp(<a class="code" href="group__poseNet.html#aba2c29631f3e194386a2c2c0aaa77fc9">GetKeypointName</a>(n), name) == 0 )</div>
<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;                        <span class="keywordflow">return</span> n;</div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;        }</div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;        </div>
<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;        <span class="keywordflow">return</span> -1;</div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;}</div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160; </div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;<span class="comment">// FindKeypoint</span></div>
<div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="structposeNet_1_1ObjectPose.html#a7401105ef9346854261b8fb9b86bf827">  403</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="structposeNet_1_1ObjectPose.html#a7401105ef9346854261b8fb9b86bf827">poseNet::ObjectPose::FindKeypoint</a>( uint32_t <span class="keywordtype">id</span> )<span class="keyword"> const</span></div>
<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;        <span class="keyword">const</span> uint32_t numKeypoints = <a class="code" href="structposeNet_1_1ObjectPose.html#a695103397589cdf95d56eec30b8869ef">Keypoints</a>.size();</div>
<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;        </div>
<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;        <span class="keywordflow">for</span>( uint32_t n=0; n &lt; numKeypoints; n++ )</div>
<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;        {</div>
<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;                <span class="keywordflow">if</span>( <span class="keywordtype">id</span> == <a class="code" href="structposeNet_1_1ObjectPose.html#a695103397589cdf95d56eec30b8869ef">Keypoints</a>[n].<a class="code" href="structposeNet_1_1ObjectPose.html#a581b90cc2974bb8a90fbafc2f5448fce">ID</a> )</div>
<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;                        <span class="keywordflow">return</span> n;</div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;        }</div>
<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;        </div>
<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;        <span class="keywordflow">return</span> -1;</div>
<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;}</div>
<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160; </div>
<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;<span class="comment">// FindLink</span></div>
<div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="structposeNet_1_1ObjectPose.html#a872163e2d0c63d5c1b69b59c732ef515">  417</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="structposeNet_1_1ObjectPose.html#a872163e2d0c63d5c1b69b59c732ef515">poseNet::ObjectPose::FindLink</a>( uint32_t a, uint32_t b )<span class="keyword"> const</span></div>
<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;        <span class="keyword">const</span> uint32_t numLinks = Links.size();</div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;        </div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;        <span class="keywordflow">for</span>( uint32_t n=0; n &lt; numLinks; n++ )</div>
<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;        {</div>
<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;                <span class="keywordflow">if</span>( a == Keypoints[Links[n][0]].ID &amp;&amp; b == Keypoints[Links[n][1]].ID )</div>
<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;                        <span class="keywordflow">return</span> n;</div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;        }</div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;        </div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;        <span class="keywordflow">return</span> -1;</div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;}</div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160; </div>
<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;<span class="comment">// SetKeypointAlpha</span></div>
<div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="group__poseNet.html#aae9991bb67affc332b2a3fd671713033">  431</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__poseNet.html#a635342be17027229bb25e68fe7bd96b9">poseNet::SetKeypointAlpha</a>( <span class="keywordtype">float</span> <a class="code" href="cudaVector_8h.html#aa94774faf063d34dab6f3f374d73ea7a">alpha</a> )</div>
<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;{</div>
<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;        <span class="keyword">const</span> uint32_t numKeypoints = <a class="code" href="group__poseNet.html#a212119ed54dbae900c977576f5aea72a">GetNumKeypoints</a>();</div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;        </div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;        <span class="keywordflow">for</span>( uint32_t n=0; n &lt; numKeypoints; n++ )</div>
<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;                <a class="code" href="group__poseNet.html#aafee76d3817e65915be5be4f51fee3d0">mKeypointColors</a>[n].w = <a class="code" href="cudaVector_8h.html#aa94774faf063d34dab6f3f374d73ea7a">alpha</a>;</div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;}</div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160; </div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160; </div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="agroup__poseNet_html_a54a554418a2328e46504c9152e4a5330"><div class="ttname"><a href="group__poseNet.html#a54a554418a2328e46504c9152e4a5330">poseNet::SetLinkScale</a></div><div class="ttdeci">void SetLinkScale(float scale)</div><div class="ttdoc">Set the scale used to calculate the width of link lines.</div><div class="ttdef"><b>Definition:</b> poseNet.h:333</div></div>
<div class="ttc" id="agroup__poseNet_html_a80fc821527933f3f712cc0b50b64206e"><div class="ttname"><a href="group__poseNet.html#a80fc821527933f3f712cc0b50b64206e">poseNet::mObjects</a></div><div class="ttdeci">int * mObjects</div><div class="ttdef"><b>Definition:</b> poseNet.h:374</div></div>
<div class="ttc" id="agroup__poseNet_html_a2c3161cef2215a8cae4e673042d644db"><div class="ttname"><a href="group__poseNet.html#a2c3161cef2215a8cae4e673042d644db">poseNet::Overlay</a></div><div class="ttdeci">bool Overlay(T *input, T *output, uint32_t width, uint32_t height, const std::vector&lt; ObjectPose &gt; &amp;poses, uint32_t overlay=OVERLAY_DEFAULT)</div><div class="ttdoc">Overlay the results on the image.</div><div class="ttdef"><b>Definition:</b> poseNet.h:256</div></div>
<div class="ttc" id="agroup__poseNet_html_ae009a46f59ae89339b7a9439668d1e72"><div class="ttname"><a href="group__poseNet.html#ae009a46f59ae89339b7a9439668d1e72">poseNet::init</a></div><div class="ttdeci">bool init(const char *model_path, const char *topology, const char *colors, float threshold, const char *input, const char *cmap, const char *paf, uint32_t maxBatchSize, precisionType precision, deviceType device, bool allowGPUFallback)</div></div>
<div class="ttc" id="astructposeNet_1_1ObjectPose_html_a333bb92ee586133a7221ace0f5f4d557"><div class="ttname"><a href="structposeNet_1_1ObjectPose.html#a333bb92ee586133a7221ace0f5f4d557">poseNet::ObjectPose::Bottom</a></div><div class="ttdeci">float Bottom</div><div class="ttdoc">Bounding box bottom, as determined by the bottom-most keypoint in the pose.</div><div class="ttdef"><b>Definition:</b> poseNet.h:119</div></div>
<div class="ttc" id="agroup__poseNet_html_aba2c29631f3e194386a2c2c0aaa77fc9"><div class="ttname"><a href="group__poseNet.html#aba2c29631f3e194386a2c2c0aaa77fc9">poseNet::GetKeypointName</a></div><div class="ttdeci">const char * GetKeypointName(uint32_t index) const</div><div class="ttdoc">Get the name of a keypoint in the topology by it's ID.</div><div class="ttdef"><b>Definition:</b> poseNet.h:286</div></div>
<div class="ttc" id="astructposeNet_1_1Topology_html_a3a71c85cdb089e688a160c4e6b4c989c"><div class="ttname"><a href="structposeNet_1_1Topology.html#a3a71c85cdb089e688a160c4e6b4c989c">poseNet::Topology::category</a></div><div class="ttdeci">std::string category</div><div class="ttdef"><b>Definition:</b> poseNet.h:344</div></div>
<div class="ttc" id="agroup__poseNet_html_a9b754e22a45be6e55b281a63e11fb07e"><div class="ttname"><a href="group__poseNet.html#a9b754e22a45be6e55b281a63e11fb07e">poseNet::PAF_INTEGRAL_SAMPLES</a></div><div class="ttdeci">static const int PAF_INTEGRAL_SAMPLES</div><div class="ttdef"><b>Definition:</b> poseNet.h:338</div></div>
<div class="ttc" id="agroup__poseNet_html_afda0875e027f7039538b8d2f6b92118aa23db8b890105e87de352e4199beb2758"><div class="ttname"><a href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa23db8b890105e87de352e4199beb2758">poseNet::OVERLAY_KEYPOINTS</a></div><div class="ttdeci">@ OVERLAY_KEYPOINTS</div><div class="ttdoc">Overlay the keypoints (joints) as circles.</div><div class="ttdef"><b>Definition:</b> poseNet.h:149</div></div>
<div class="ttc" id="acudaPointCloud_8h_html_a549d5369c70bd71a70798aa5b1ea4270"><div class="ttname"><a href="cudaPointCloud_8h.html#a549d5369c70bd71a70798aa5b1ea4270">color</a></div><div class="ttdeci">uchar3 color</div><div class="ttdoc">The RGB color of the point.</div><div class="ttdef"><b>Definition:</b> cudaPointCloud.h:11</div></div>
<div class="ttc" id="agroup__poseNet_html_a66366a8b27c726812eba47a6af3cb2ca"><div class="ttname"><a href="group__poseNet.html#a66366a8b27c726812eba47a6af3cb2ca">poseNet::mAssignmentWorkspace</a></div><div class="ttdeci">void * mAssignmentWorkspace</div><div class="ttdef"><b>Definition:</b> poseNet.h:380</div></div>
<div class="ttc" id="agroup__poseNet_html_aeac8b68f59e44b9fd650a9e6801001f5"><div class="ttname"><a href="group__poseNet.html#aeac8b68f59e44b9fd650a9e6801001f5">poseNet::mPeakCounts</a></div><div class="ttdeci">int * mPeakCounts</div><div class="ttdef"><b>Definition:</b> poseNet.h:372</div></div>
<div class="ttc" id="agroup__imageNet_html_ga4f809f603917dd53041335c0881b198e"><div class="ttname"><a href="group__imageNet.html#ga4f809f603917dd53041335c0881b198e">POSENET_USAGE_STRING</a></div><div class="ttdeci">#define POSENET_USAGE_STRING</div><div class="ttdoc">Standard command-line options able to be passed to poseNet::Create()</div><div class="ttdef"><b>Definition:</b> poseNet.h:81</div></div>
<div class="ttc" id="agroup__poseNet_html_a6457d98a7e7f195d5115a2e26d9091d4"><div class="ttname"><a href="group__poseNet.html#a6457d98a7e7f195d5115a2e26d9091d4">poseNet::~poseNet</a></div><div class="ttdeci">virtual ~poseNet()</div><div class="ttdoc">Destory.</div></div>
<div class="ttc" id="agroup__poseNet_html_ab430ddfb43995064ab2e8d92ac8f0328"><div class="ttname"><a href="group__poseNet.html#ab430ddfb43995064ab2e8d92ac8f0328">poseNet::mScoreGraph</a></div><div class="ttdeci">float * mScoreGraph</div><div class="ttdef"><b>Definition:</b> poseNet.h:378</div></div>
<div class="ttc" id="agroup__poseNet_html_a1bebbf414fd20210c469223433bb604a"><div class="ttname"><a href="group__poseNet.html#a1bebbf414fd20210c469223433bb604a">poseNet::OverlayFlagsFromStr</a></div><div class="ttdeci">static uint32_t OverlayFlagsFromStr(const char *flags)</div><div class="ttdoc">Parse a string sequence into OverlayFlags enum.</div></div>
<div class="ttc" id="agroup__poseNet_html_a4c56eeb1542a665188f3bcba1f48dd45"><div class="ttname"><a href="group__poseNet.html#a4c56eeb1542a665188f3bcba1f48dd45">poseNet::loadKeypointColors</a></div><div class="ttdeci">bool loadKeypointColors(const char *filename)</div></div>
<div class="ttc" id="agroup__poseNet_html_aef7c1590e89362f1f6800755e8fb1bf8"><div class="ttname"><a href="group__poseNet.html#aef7c1590e89362f1f6800755e8fb1bf8">poseNet::mRefinedPeaks</a></div><div class="ttdeci">float * mRefinedPeaks</div><div class="ttdef"><b>Definition:</b> poseNet.h:377</div></div>
<div class="ttc" id="agroup__poseNet_html_a6a2934b5843740670019eee8424de5f2"><div class="ttname"><a href="group__poseNet.html#a6a2934b5843740670019eee8424de5f2">poseNet::GetKeypointScale</a></div><div class="ttdeci">float GetKeypointScale() const</div><div class="ttdoc">Get the scale used to calculate the radius of keypoints relative to input image dimensions.</div><div class="ttdef"><b>Definition:</b> poseNet.h:316</div></div>
<div class="ttc" id="astructposeNet_1_1ObjectPose_html_adece53f539c88290c4062193f0fd7ae7"><div class="ttname"><a href="structposeNet_1_1ObjectPose.html#adece53f539c88290c4062193f0fd7ae7">poseNet::ObjectPose::Top</a></div><div class="ttdeci">float Top</div><div class="ttdoc">Bounding box top, as determined by the top-most keypoint in the pose.</div><div class="ttdef"><b>Definition:</b> poseNet.h:118</div></div>
<div class="ttc" id="agroup__poseNet_html_a84338d796f9c348c707bbd554cdb113b"><div class="ttname"><a href="group__poseNet.html#a84338d796f9c348c707bbd554cdb113b">poseNet::mThreshold</a></div><div class="ttdeci">float mThreshold</div><div class="ttdef"><b>Definition:</b> poseNet.h:364</div></div>
<div class="ttc" id="agroup__tensorNet_html_ggaa5d3f9981cdbd91516c1474006a80fe4adc7f3f88455afa81458863e5b3092e4b"><div class="ttname"><a href="group__tensorNet.html#ggaa5d3f9981cdbd91516c1474006a80fe4adc7f3f88455afa81458863e5b3092e4b">DEVICE_GPU</a></div><div class="ttdeci">@ DEVICE_GPU</div><div class="ttdoc">GPU (if multiple GPUs are present, a specific GPU can be selected with cudaSetDevice()</div><div class="ttdef"><b>Definition:</b> tensorNet.h:131</div></div>
<div class="ttc" id="agroup__poseNet_html_a07a41e411e22e87fd52d2e1d52bba710"><div class="ttname"><a href="group__poseNet.html#a07a41e411e22e87fd52d2e1d52bba710">poseNet::postProcess</a></div><div class="ttdeci">bool postProcess(std::vector&lt; ObjectPose &gt; &amp;poses, uint32_t width, uint32_t height)</div></div>
<div class="ttc" id="agroup__poseNet_html_a90970ad4e9c23f1624bb7415ddc5db5c"><div class="ttname"><a href="group__poseNet.html#a90970ad4e9c23f1624bb7415ddc5db5c">poseNet::SetKeypointScale</a></div><div class="ttdeci">void SetKeypointScale(float scale)</div><div class="ttdoc">Set the scale used to calculate the radius of keypoint circles.</div><div class="ttdef"><b>Definition:</b> poseNet.h:322</div></div>
<div class="ttc" id="agroup__poseNet_html_ga6301da70768db25c4a7a0ee2e03cb79d"><div class="ttname"><a href="group__poseNet.html#ga6301da70768db25c4a7a0ee2e03cb79d">POSENET_DEFAULT_PAF</a></div><div class="ttdeci">#define POSENET_DEFAULT_PAF</div><div class="ttdoc">Name of default output blob of the Part Affinity Field (PAF) for pose estimation ONNX model.</div><div class="ttdef"><b>Definition:</b> poseNet.h:49</div></div>
<div class="ttc" id="astructposeNet_1_1Topology_html_a3af370f4b43a269aafc9e8b277fa7340"><div class="ttname"><a href="structposeNet_1_1Topology.html#a3af370f4b43a269aafc9e8b277fa7340">poseNet::Topology::keypoints</a></div><div class="ttdeci">std::vector&lt; std::string &gt; keypoints</div><div class="ttdef"><b>Definition:</b> poseNet.h:345</div></div>
<div class="ttc" id="agroup__tensorNet_html_gaa5d3f9981cdbd91516c1474006a80fe4"><div class="ttname"><a href="group__tensorNet.html#gaa5d3f9981cdbd91516c1474006a80fe4">deviceType</a></div><div class="ttdeci">deviceType</div><div class="ttdoc">Enumeration for indicating the desired device that the network should run on, if available in hardwar...</div><div class="ttdef"><b>Definition:</b> tensorNet.h:129</div></div>
<div class="ttc" id="astructposeNet_1_1ObjectPose_html_a7401105ef9346854261b8fb9b86bf827"><div class="ttname"><a href="structposeNet_1_1ObjectPose.html#a7401105ef9346854261b8fb9b86bf827">poseNet::ObjectPose::FindKeypoint</a></div><div class="ttdeci">int FindKeypoint(uint32_t id) const</div><div class="ttdoc">Find a link index by two keypoint ID's, or return -1 if not found.</div><div class="ttdef"><b>Definition:</b> poseNet.h:403</div></div>
<div class="ttc" id="agroup__poseNet_html_a212119ed54dbae900c977576f5aea72a"><div class="ttname"><a href="group__poseNet.html#a212119ed54dbae900c977576f5aea72a">poseNet::GetNumKeypoints</a></div><div class="ttdeci">uint32_t GetNumKeypoints() const</div><div class="ttdoc">Get the number of keypoints in the topology.</div><div class="ttdef"><b>Definition:</b> poseNet.h:281</div></div>
<div class="ttc" id="agroup__poseNet_html_ga0d5023ddb3b0f2e2348f476f2950fed7"><div class="ttname"><a href="group__poseNet.html#ga0d5023ddb3b0f2e2348f476f2950fed7">POSENET_DEFAULT_INPUT</a></div><div class="ttdeci">#define POSENET_DEFAULT_INPUT</div><div class="ttdoc">Name of default input blob for pose estimation ONNX model.</div><div class="ttdef"><b>Definition:</b> poseNet.h:37</div></div>
<div class="ttc" id="agroup__poseNet_html_a70ead07abc10466c23dac1e2c5f73e40"><div class="ttname"><a href="group__poseNet.html#a70ead07abc10466c23dac1e2c5f73e40">poseNet::mLinkScale</a></div><div class="ttdeci">float mLinkScale</div><div class="ttdef"><b>Definition:</b> poseNet.h:365</div></div>
<div class="ttc" id="agroup__poseNet_html_afda0875e027f7039538b8d2f6b92118a"><div class="ttname"><a href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118a">poseNet::OverlayFlags</a></div><div class="ttdeci">OverlayFlags</div><div class="ttdoc">Overlay flags (can be OR'd together).</div><div class="ttdef"><b>Definition:</b> poseNet.h:144</div></div>
<div class="ttc" id="agroup__poseNet_html_a7f3dbc604b5f6343734b0d4e3d0082d3"><div class="ttname"><a href="group__poseNet.html#a7f3dbc604b5f6343734b0d4e3d0082d3">poseNet::GetLinkScale</a></div><div class="ttdeci">float GetLinkScale() const</div><div class="ttdoc">Get the scale used to calculate the width of link lines relative to input image dimensions.</div><div class="ttdef"><b>Definition:</b> poseNet.h:327</div></div>
<div class="ttc" id="atensorNet_8h_html"><div class="ttname"><a href="tensorNet_8h.html">tensorNet.h</a></div></div>
<div class="ttc" id="agroup__poseNet_html_a578c10865e493491ae032f7f5489baee"><div class="ttname"><a href="group__poseNet.html#a578c10865e493491ae032f7f5489baee">poseNet::mConnections</a></div><div class="ttdeci">int * mConnections</div><div class="ttdef"><b>Definition:</b> poseNet.h:373</div></div>
<div class="ttc" id="agroup__tensorNet_html_ggaac6604fd52c6e5db82877390e0378623a1d325738f49e8e4c424ff671624e66f9"><div class="ttname"><a href="group__tensorNet.html#ggaac6604fd52c6e5db82877390e0378623a1d325738f49e8e4c424ff671624e66f9">TYPE_FASTEST</a></div><div class="ttdeci">@ TYPE_FASTEST</div><div class="ttdoc">The fastest detected precision should be use (i.e.</div><div class="ttdef"><b>Definition:</b> tensorNet.h:105</div></div>
<div class="ttc" id="agroup__poseNet_html_a64e17aef37702343a8ee95ede544b712"><div class="ttname"><a href="group__poseNet.html#a64e17aef37702343a8ee95ede544b712">poseNet::CMAP_WINDOW_SIZE</a></div><div class="ttdeci">static const int CMAP_WINDOW_SIZE</div><div class="ttdef"><b>Definition:</b> poseNet.h:337</div></div>
<div class="ttc" id="agroup__poseNet_html_afda0875e027f7039538b8d2f6b92118aa2cc6ca07f2d81b60b4bf60adfa8b32f5"><div class="ttname"><a href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa2cc6ca07f2d81b60b4bf60adfa8b32f5">poseNet::OVERLAY_DEFAULT</a></div><div class="ttdeci">@ OVERLAY_DEFAULT</div><div class="ttdef"><b>Definition:</b> poseNet.h:150</div></div>
<div class="ttc" id="agroup__poseNet_html_aa20634f5d0b02f5b057b7f3f5a4b1a92"><div class="ttname"><a href="group__poseNet.html#aa20634f5d0b02f5b057b7f3f5a4b1a92">poseNet::mConnectionWorkspace</a></div><div class="ttdeci">void * mConnectionWorkspace</div><div class="ttdef"><b>Definition:</b> poseNet.h:381</div></div>
<div class="ttc" id="agroup__poseNet_html_ab8e2cceb7809577c8f46b4e18138060d"><div class="ttname"><a href="group__poseNet.html#ab8e2cceb7809577c8f46b4e18138060d">poseNet::mTopology</a></div><div class="ttdeci">Topology mTopology</div><div class="ttdef"><b>Definition:</b> poseNet.h:362</div></div>
<div class="ttc" id="agroup__poseNet_html_a4f116258d3b45d7bf5bdfe0f22f0f1cb"><div class="ttname"><a href="group__poseNet.html#a4f116258d3b45d7bf5bdfe0f22f0f1cb">poseNet::Usage</a></div><div class="ttdeci">static const char * Usage()</div><div class="ttdoc">Usage string for command line arguments to Create()</div><div class="ttdef"><b>Definition:</b> poseNet.h:204</div></div>
<div class="ttc" id="astructposeNet_1_1Topology_html_a6f698d5f9cfeb8e50bada255c03a063b"><div class="ttname"><a href="structposeNet_1_1Topology.html#a6f698d5f9cfeb8e50bada255c03a063b">poseNet::Topology::numLinks</a></div><div class="ttdeci">int numLinks</div><div class="ttdef"><b>Definition:</b> poseNet.h:347</div></div>
<div class="ttc" id="astructposeNet_1_1ObjectPose_1_1Keypoint_html"><div class="ttname"><a href="structposeNet_1_1ObjectPose_1_1Keypoint.html">poseNet::ObjectPose::Keypoint</a></div><div class="ttdoc">A keypoint or joint in the topology.</div><div class="ttdef"><b>Definition:</b> poseNet.h:124</div></div>
<div class="ttc" id="agroup__poseNet_html_a28d9cf19e0454214d5b7223bfc8a0784"><div class="ttname"><a href="group__poseNet.html#a28d9cf19e0454214d5b7223bfc8a0784">poseNet::Create</a></div><div class="ttdeci">static poseNet * Create(const char *network=&quot;resnet18-body&quot;, float threshold=POSENET_DEFAULT_THRESHOLD, uint32_t maxBatchSize=DEFAULT_MAX_BATCH_SIZE, precisionType precision=TYPE_FASTEST, deviceType device=DEVICE_GPU, bool allowGPUFallback=true)</div><div class="ttdoc">Load a pre-trained model.</div></div>
<div class="ttc" id="agroup__tensorNet_html_gaac6604fd52c6e5db82877390e0378623"><div class="ttname"><a href="group__tensorNet.html#gaac6604fd52c6e5db82877390e0378623">precisionType</a></div><div class="ttdeci">precisionType</div><div class="ttdoc">Enumeration for indicating the desired precision that the network should run in, if available in hard...</div><div class="ttdef"><b>Definition:</b> tensorNet.h:102</div></div>
<div class="ttc" id="agroup__poseNet_html_a8ecb6dbc5b0246c6145c1f6222772996"><div class="ttname"><a href="group__poseNet.html#a8ecb6dbc5b0246c6145c1f6222772996">poseNet::Process</a></div><div class="ttdeci">bool Process(T *image, uint32_t width, uint32_t height, uint32_t overlay=OVERLAY_DEFAULT)</div><div class="ttdoc">Perform pose estimation on the given image, and overlay the results.</div><div class="ttdef"><b>Definition:</b> poseNet.h:241</div></div>
<div class="ttc" id="agroup__poseNet_html_acdbdb599f7f0ae08b2ab3c11d2db625e"><div class="ttname"><a href="group__poseNet.html#acdbdb599f7f0ae08b2ab3c11d2db625e">poseNet::SetKeypointColor</a></div><div class="ttdeci">void SetKeypointColor(uint32_t index, const float4 &amp;color)</div><div class="ttdoc">Set the overlay color for a keypoint.</div><div class="ttdef"><b>Definition:</b> poseNet.h:301</div></div>
<div class="ttc" id="agroup__poseNet_html_aa11d602a94a99d71a0e72b6bdfd4aedb"><div class="ttname"><a href="group__poseNet.html#aa11d602a94a99d71a0e72b6bdfd4aedb">poseNet::mPeaks</a></div><div class="ttdeci">int * mPeaks</div><div class="ttdef"><b>Definition:</b> poseNet.h:371</div></div>
<div class="ttc" id="agroup__poseNet_html_a96e03b5516c924ed2f025300b4fbfbf6"><div class="ttname"><a href="group__poseNet.html#a96e03b5516c924ed2f025300b4fbfbf6">poseNet::GetThreshold</a></div><div class="ttdeci">float GetThreshold() const</div><div class="ttdoc">Retrieve the minimum confidence threshold.</div><div class="ttdef"><b>Definition:</b> poseNet.h:266</div></div>
<div class="ttc" id="agroup__poseNet_html_afda0875e027f7039538b8d2f6b92118aac903ec60b2ac0e00b29a15f5b42380c3"><div class="ttname"><a href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aac903ec60b2ac0e00b29a15f5b42380c3">poseNet::OVERLAY_NONE</a></div><div class="ttdeci">@ OVERLAY_NONE</div><div class="ttdoc">No overlay.</div><div class="ttdef"><b>Definition:</b> poseNet.h:146</div></div>
<div class="ttc" id="agroup__poseNet_html_aec84aecce84762533afb017778117446"><div class="ttname"><a href="group__poseNet.html#aec84aecce84762533afb017778117446">poseNet::GetKeypointColor</a></div><div class="ttdeci">float4 GetKeypointColor(uint32_t index) const</div><div class="ttdoc">Get the overlay color of a keypoint.</div><div class="ttdef"><b>Definition:</b> poseNet.h:296</div></div>
<div class="ttc" id="astructposeNet_1_1ObjectPose_html_ad87a8bf3dfaa0ca9ec20831b44def4e1"><div class="ttname"><a href="structposeNet_1_1ObjectPose.html#ad87a8bf3dfaa0ca9ec20831b44def4e1">poseNet::ObjectPose::Right</a></div><div class="ttdeci">float Right</div><div class="ttdoc">Bounding box right, as determined by the right-most keypoint in the pose.</div><div class="ttdef"><b>Definition:</b> poseNet.h:117</div></div>
<div class="ttc" id="agroup__poseNet_html_a635342be17027229bb25e68fe7bd96b9"><div class="ttname"><a href="group__poseNet.html#a635342be17027229bb25e68fe7bd96b9">poseNet::SetKeypointAlpha</a></div><div class="ttdeci">void SetKeypointAlpha(uint32_t index, float alpha)</div><div class="ttdoc">Set the alpha channel for a keypoint color (between 0-255).</div><div class="ttdef"><b>Definition:</b> poseNet.h:306</div></div>
<div class="ttc" id="agroup__tensorNet_html_classtensorNet"><div class="ttname"><a href="group__tensorNet.html#classtensorNet">tensorNet</a></div><div class="ttdoc">Abstract class for loading a tensor network with TensorRT.</div><div class="ttdef"><b>Definition:</b> tensorNet.h:218</div></div>
<div class="ttc" id="astructposeNet_1_1ObjectPose_html_a872163e2d0c63d5c1b69b59c732ef515"><div class="ttname"><a href="structposeNet_1_1ObjectPose.html#a872163e2d0c63d5c1b69b59c732ef515">poseNet::ObjectPose::FindLink</a></div><div class="ttdeci">int FindLink(uint32_t a, uint32_t b) const</div><div class="ttdef"><b>Definition:</b> poseNet.h:417</div></div>
<div class="ttc" id="agroup__poseNet_html_adeab2b3ac26b72b48191e3b4f2268b83"><div class="ttname"><a href="group__poseNet.html#adeab2b3ac26b72b48191e3b4f2268b83">poseNet::MAX_OBJECTS</a></div><div class="ttdeci">static const int MAX_OBJECTS</div><div class="ttdef"><b>Definition:</b> poseNet.h:340</div></div>
<div class="ttc" id="agroup__poseNet_html_a0346daba87ac68e645c4d5be3d56d354"><div class="ttname"><a href="group__poseNet.html#a0346daba87ac68e645c4d5be3d56d354">poseNet::GetCategory</a></div><div class="ttdeci">const char * GetCategory() const</div><div class="ttdoc">Get the category of objects that are detected (e.g.</div><div class="ttdef"><b>Definition:</b> poseNet.h:276</div></div>
<div class="ttc" id="astructposeNet_1_1ObjectPose_html_a4bb68db2ef92240a0e5dbc9c6f3dea9e"><div class="ttname"><a href="structposeNet_1_1ObjectPose.html#a4bb68db2ef92240a0e5dbc9c6f3dea9e">poseNet::ObjectPose::Left</a></div><div class="ttdeci">float Left</div><div class="ttdoc">Bounding box left, as determined by the left-most keypoint in the pose.</div><div class="ttdef"><b>Definition:</b> poseNet.h:116</div></div>
<div class="ttc" id="agroup__poseNet_html_ga21376894ab9de2658349498fce9ba116"><div class="ttname"><a href="group__poseNet.html#ga21376894ab9de2658349498fce9ba116">POSENET_DEFAULT_CMAP</a></div><div class="ttdeci">#define POSENET_DEFAULT_CMAP</div><div class="ttdoc">Name of default output blob of the confidence map for pose estimation ONNX model.</div><div class="ttdef"><b>Definition:</b> poseNet.h:43</div></div>
<div class="ttc" id="agroup__poseNet_html_ab5bf5dbd5c02eea49679b68b502d7db2"><div class="ttname"><a href="group__poseNet.html#ab5bf5dbd5c02eea49679b68b502d7db2">poseNet::loadTopology</a></div><div class="ttdeci">bool loadTopology(const char *json_path, Topology *topology)</div></div>
<div class="ttc" id="agroup__poseNet_html_a8cfd6a21798664d025bd166d26ab7004"><div class="ttname"><a href="group__poseNet.html#a8cfd6a21798664d025bd166d26ab7004">poseNet::SetThreshold</a></div><div class="ttdeci">void SetThreshold(float threshold)</div><div class="ttdoc">Set the minimum confidence threshold.</div><div class="ttdef"><b>Definition:</b> poseNet.h:271</div></div>
<div class="ttc" id="astructposeNet_1_1ObjectPose_1_1Keypoint_html_aaab84896609ee951cd43b699881f3d8f"><div class="ttname"><a href="structposeNet_1_1ObjectPose_1_1Keypoint.html#aaab84896609ee951cd43b699881f3d8f">poseNet::ObjectPose::Keypoint::x</a></div><div class="ttdeci">float x</div><div class="ttdoc">The x coordinate of the keypoint.</div><div class="ttdef"><b>Definition:</b> poseNet.h:127</div></div>
<div class="ttc" id="agroup__poseNet_html_ac429431dc3b83dcd5a5f3fcffe446047"><div class="ttname"><a href="group__poseNet.html#ac429431dc3b83dcd5a5f3fcffe446047">poseNet::Process</a></div><div class="ttdeci">bool Process(T *image, uint32_t width, uint32_t height, std::vector&lt; ObjectPose &gt; &amp;poses, uint32_t overlay=OVERLAY_DEFAULT)</div><div class="ttdoc">Perform pose estimation on the given image, returning object poses, and overlay the results.</div><div class="ttdef"><b>Definition:</b> poseNet.h:220</div></div>
<div class="ttc" id="astructposeNet_1_1ObjectPose_html_aa0cad49daab2c621d2313d52a1746f85"><div class="ttname"><a href="structposeNet_1_1ObjectPose.html#aa0cad49daab2c621d2313d52a1746f85">poseNet::ObjectPose::Links</a></div><div class="ttdeci">std::vector&lt; std::array&lt; uint32_t, 2 &gt; &gt; Links</div><div class="ttdoc">List of links in the object.</div><div class="ttdef"><b>Definition:</b> poseNet.h:132</div></div>
<div class="ttc" id="agroup__poseNet_html_ga9be57c475962d2397058c45c835cc2b5"><div class="ttname"><a href="group__poseNet.html#ga9be57c475962d2397058c45c835cc2b5">POSENET_DEFAULT_THRESHOLD</a></div><div class="ttdeci">#define POSENET_DEFAULT_THRESHOLD</div><div class="ttdoc">Default value of the minimum confidence threshold.</div><div class="ttdef"><b>Definition:</b> poseNet.h:55</div></div>
<div class="ttc" id="astructposeNet_1_1ObjectPose_html_a581b90cc2974bb8a90fbafc2f5448fce"><div class="ttname"><a href="structposeNet_1_1ObjectPose.html#a581b90cc2974bb8a90fbafc2f5448fce">poseNet::ObjectPose::ID</a></div><div class="ttdeci">uint32_t ID</div><div class="ttdoc">Object ID in the image frame, starting with 0.</div><div class="ttdef"><b>Definition:</b> poseNet.h:114</div></div>
<div class="ttc" id="agroup__tensorNet_html_ga5a46a965749d6118e01307fd4d4865c9"><div class="ttname"><a href="group__tensorNet.html#ga5a46a965749d6118e01307fd4d4865c9">DEFAULT_MAX_BATCH_SIZE</a></div><div class="ttdeci">#define DEFAULT_MAX_BATCH_SIZE</div><div class="ttdoc">Default maximum batch size.</div><div class="ttdef"><b>Definition:</b> tensorNet.h:88</div></div>
<div class="ttc" id="agroup__poseNet_html_a98b7689cd234fe6db287c87fccdef505"><div class="ttname"><a href="group__poseNet.html#a98b7689cd234fe6db287c87fccdef505">poseNet::mNumObjects</a></div><div class="ttdeci">int mNumObjects</div><div class="ttdef"><b>Definition:</b> poseNet.h:375</div></div>
<div class="ttc" id="agroup__poseNet_html_afda0875e027f7039538b8d2f6b92118aa5af88efc86c145ebe02280e6bcdfa98a"><div class="ttname"><a href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa5af88efc86c145ebe02280e6bcdfa98a">poseNet::OVERLAY_LINKS</a></div><div class="ttdeci">@ OVERLAY_LINKS</div><div class="ttdoc">Overlay the skeleton links (bones) as lines</div><div class="ttdef"><b>Definition:</b> poseNet.h:148</div></div>
<div class="ttc" id="astructposeNet_1_1ObjectPose_1_1Keypoint_html_a1f5c06d8ac261651f451c127279ec723"><div class="ttname"><a href="structposeNet_1_1ObjectPose_1_1Keypoint.html#a1f5c06d8ac261651f451c127279ec723">poseNet::ObjectPose::Keypoint::ID</a></div><div class="ttdeci">uint32_t ID</div><div class="ttdoc">Type ID of the keypoint - the name can be retrieved with poseNet::GetKeypointName()</div><div class="ttdef"><b>Definition:</b> poseNet.h:126</div></div>
<div class="ttc" id="agroup__poseNet_html_af103237289d1e4abd55c4a4457b675e0"><div class="ttname"><a href="group__poseNet.html#af103237289d1e4abd55c4a4457b675e0">poseNet::FindKeypointID</a></div><div class="ttdeci">int FindKeypointID(const char *name) const</div><div class="ttdoc">Find the ID of a keypoint by name, or return -1 if not found.</div><div class="ttdef"><b>Definition:</b> poseNet.h:386</div></div>
<div class="ttc" id="agroup__poseNet_html_a6abfe3c99a8c4def62773c6723fbc66a"><div class="ttname"><a href="group__poseNet.html#a6abfe3c99a8c4def62773c6723fbc66a">poseNet::poseNet</a></div><div class="ttdeci">poseNet()</div></div>
<div class="ttc" id="agroup__poseNet_html_af182e1684ef671cfa445a800099a8ad2"><div class="ttname"><a href="group__poseNet.html#af182e1684ef671cfa445a800099a8ad2">poseNet::MAX_LINKS</a></div><div class="ttdeci">static const int MAX_LINKS</div><div class="ttdef"><b>Definition:</b> poseNet.h:339</div></div>
<div class="ttc" id="agroup__poseNet_html_a84aa84e7716c7c7d4a3dd60f2de27544"><div class="ttname"><a href="group__poseNet.html#a84aa84e7716c7c7d4a3dd60f2de27544">poseNet::mKeypointScale</a></div><div class="ttdeci">float mKeypointScale</div><div class="ttdef"><b>Definition:</b> poseNet.h:366</div></div>
<div class="ttc" id="agroup__commandLine_html_classcommandLine"><div class="ttname"><a href="group__commandLine.html#classcommandLine">commandLine</a></div><div class="ttdoc">Command line parser for extracting flags, values, and strings.</div><div class="ttdef"><b>Definition:</b> commandLine.h:35</div></div>
<div class="ttc" id="agroup__poseNet_html_aafee76d3817e65915be5be4f51fee3d0"><div class="ttname"><a href="group__poseNet.html#aafee76d3817e65915be5be4f51fee3d0">poseNet::mKeypointColors</a></div><div class="ttdeci">float4 * mKeypointColors</div><div class="ttdef"><b>Definition:</b> poseNet.h:368</div></div>
<div class="ttc" id="astructposeNet_1_1ObjectPose_1_1Keypoint_html_a06cb6a3a66934abede6d3e84ebb7931f"><div class="ttname"><a href="structposeNet_1_1ObjectPose_1_1Keypoint.html#a06cb6a3a66934abede6d3e84ebb7931f">poseNet::ObjectPose::Keypoint::y</a></div><div class="ttdeci">float y</div><div class="ttdoc">The y coordinate of the keypoint.</div><div class="ttdef"><b>Definition:</b> poseNet.h:128</div></div>
<div class="ttc" id="astructposeNet_1_1Topology_html"><div class="ttname"><a href="structposeNet_1_1Topology.html">poseNet::Topology</a></div><div class="ttdef"><b>Definition:</b> poseNet.h:342</div></div>
<div class="ttc" id="astructposeNet_1_1Topology_html_afcf230d0823bc14665f0f84bcc7d9579"><div class="ttname"><a href="structposeNet_1_1Topology.html#afcf230d0823bc14665f0f84bcc7d9579">poseNet::Topology::links</a></div><div class="ttdeci">int links[MAX_LINKS *4]</div><div class="ttdef"><b>Definition:</b> poseNet.h:346</div></div>
<div class="ttc" id="agroup__poseNet_html_afda0875e027f7039538b8d2f6b92118aa22fcdd5a4a06b67fdcb1e063a8755f23"><div class="ttname"><a href="group__poseNet.html#afda0875e027f7039538b8d2f6b92118aa22fcdd5a4a06b67fdcb1e063a8755f23">poseNet::OVERLAY_BOX</a></div><div class="ttdeci">@ OVERLAY_BOX</div><div class="ttdoc">Overlay object bounding boxes.</div><div class="ttdef"><b>Definition:</b> poseNet.h:147</div></div>
<div class="ttc" id="astructposeNet_1_1ObjectPose_html"><div class="ttname"><a href="structposeNet_1_1ObjectPose.html">poseNet::ObjectPose</a></div><div class="ttdoc">The pose of an object, composed of links between keypoints.</div><div class="ttdef"><b>Definition:</b> poseNet.h:112</div></div>
<div class="ttc" id="agroup__imageFormat_html_ga931c48e08f361637d093355d64583406"><div class="ttname"><a href="group__imageFormat.html#ga931c48e08f361637d093355d64583406">imageFormat</a></div><div class="ttdeci">imageFormat</div><div class="ttdoc">The imageFormat enum is used to identify the pixel format and colorspace of an image.</div><div class="ttdef"><b>Definition:</b> imageFormat.h:49</div></div>
<div class="ttc" id="agroup__poseNet_html_classposeNet"><div class="ttname"><a href="group__poseNet.html#classposeNet">poseNet</a></div><div class="ttdoc">Pose estimation models with TensorRT support.</div><div class="ttdef"><b>Definition:</b> poseNet.h:105</div></div>
<div class="ttc" id="acudaVector_8h_html_aa94774faf063d34dab6f3f374d73ea7a"><div class="ttname"><a href="cudaVector_8h.html#aa94774faf063d34dab6f3f374d73ea7a">alpha</a></div><div class="ttdeci">__device__ cudaVectorTypeInfo&lt; T &gt;::Base alpha(T vec, typename cudaVectorTypeInfo&lt; T &gt;::Base default_alpha=255)</div><div class="ttdef"><b>Definition:</b> cudaVector.h:98</div></div>
<div class="ttc" id="astructposeNet_1_1ObjectPose_html_a695103397589cdf95d56eec30b8869ef"><div class="ttname"><a href="structposeNet_1_1ObjectPose.html#a695103397589cdf95d56eec30b8869ef">poseNet::ObjectPose::Keypoints</a></div><div class="ttdeci">std::vector&lt; Keypoint &gt; Keypoints</div><div class="ttdoc">List of keypoints in the object, which contain the keypoint ID and x/y coordinates.</div><div class="ttdef"><b>Definition:</b> poseNet.h:131</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_2e4d84877693cd000e5cb535f4b23486.html">jetson-inference</a></li><li class="navelem"><a class="el" href="poseNet_8h.html">poseNet.h</a></li>
    <li class="footer">Generated on Tue Mar 28 2023 14:27:58 for Jetson Inference by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
